Cauchy-Reed-Solomon codes are an effective way to store large volumes of data with small overhead in capacity. In a distributed file system, constituent data and code blocks of such a file are stored on different machines, and each block is protected by a checksum of its contents. This checksum is kept by a server that stores the block and in metadata kept by the server. This allows the checksum to be verified when a block is copied to a different machine either directly or through reconstruction. Typically, a writer of the file will compute checksums of each block as well as the checksum of the entire file, and will preserve these values on the server when the file gets closed.
Frequently files that are encoded using Cauchy-Reed-Solomon encoding need to be brought to full replication or verified before checksums of all constituent blocks are known. Such is the case when the writer process dies or loses network connection to remote blocks and the server. In this case the file system must compute checksums of the file and the constituent blocks, and verify that all surviving blocks are consistent with the underlying encoding matrix.